TimesTenデータ・ストアに接続しているアプリケーションが予期せず終了すると、次のいずれかのイベントが発生します。
すべてのアプリケーションで、SQLErrorファンクションから返されるODBCエラー(またはSQLExceptionから返されるJDBCエラー)を確認し、アプリケーションが処理の途中で終了し、他の接続を強制的に切断する原因となったものがなかったかを確認します。ODBCをコールした後に必ずSQLErrorをコールして、エラーまたは警告が初めて発生したときの状態を識別します。SQLErrorの使用例については、デモ・プログラム、および『Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド』のエラーと警告の取得に関する項を参照してください。
さらに、ttTraceMonを使用してアプリケーションでレベル4のERRトレースを生成し、TimesTenダイレクト・ドライバにプッシュされたすべてのエラー・メッセージを確認することも有効な場合があります。詳細は、「ERRトレース」を参照してください。
TimesTenアプリケーションがODBCエラーまたは他の警告を返さずに終了した場合は、TimesTenデーモン・ログを調べて、障害の理由を示すメッセージがないかどうかを確認できます。詳細は、「ttDaemonLogユーティリティの使用」を参照してください。
アプリケーションがデータ・ストアとの接続を予期せず切断した場合、デーモン・ログは次のようになります。
Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Warn] daRecovery: examine failed: invalidate (failcode=300002) Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Warn] 1940 ------------------: Invalidating the data store (failcode 300002) Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] 1940: daInva lidateDatabase(c:\temp\demo); shmKey Global\DBI3ee4ba3a.0.SHM.37 Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] About to destroy SHM 756 Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] shmDestroy: increment shmSeq to 38, reset panicked and trashed Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] daInvalidate Database(c:\temp\demo): increment shmSeq to 39, reset panicked and trashed Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] 1940: daInvalidateDatabase(c:\temp\demo) done (0) Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] daRecovery/invalidate: clear nUsers, which was 2, set trashed to 39 Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[1940]: [Info] 1940: Finished daRecovery for pid 1952. Oct 01 10:20:13 MYINSTANCE-M700 Oracle TimesTen Data Manager 6.0[308]: [Warn] Stopping subdaemon worker for c:\temp\demo because db is invalid. .....
クライアント/サーバー接続が予期せず切断された場合、可能であれば、ダイレクト・ドライバ接続を試行してください。これによって、ネットワークによる変動要因が除去され、問題の範囲がアプリケーションまたはTimesTenのいずれかに限定されます。